package com.zking;

import java.util.Random;
import java.util.stream.Stream;

public class SreamDemo3 {
    public static void main(String[] args) {
        String str="my name is 007";
        //把每个单词的长度打印出来
        Stream.of(str.split(" ")).filter(s->s.length()>2).map(s->s.length()).
                forEach(System.out::println);

        //flatMap A->B属性（是个集合） 最终得到所有的A元素里面的所有的B属性
        //IntStram/LongStream 并不是Stream的子类，所以要进行装箱boxed  intvalue拆箱
        Stream.of(str.split("")).flatMap(s->s.chars().boxed())
                .forEach(i -> System.out.println((char)i.intValue()));

        //peek 用户debug 是中间操作 ForEach是一个中止操作
        Stream.of(str.split("")).peek(System.out::println).forEach(System.out::println);

        //limit 使用 主要用于无限流
        new Random().ints().filter(i ->i>100&&i<10000).limit(10).forEach(System.out::println);
    }
}
